Many data acquisition systems lack the processing power to acquire data streams and parse data patterns in an exhaustive manner in real time. For example, insufficient processing power is a problem in real-time or offline data processing of high throughput/volume data systems where exhaustive data acquisition is needed but is limited by system constraints. In such high throughput or high volume systems, insufficient processing power and system resources can quickly lead to system bottlenecks, overloading, heating, and other problems.
A traditional solution to the problem of insufficient processing power in such systems has been to increase the processing power of the system by adding additional or more powerful hardware. However, this solution is costly both directly (e.g., additional hardware for real-time data processing of high throughput or high volume data systems can be quite costly especially when using specialized hardware such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs)) and indirectly (e.g., additional support systems such as rack space and cabling; programming, system configuration, and technical support; and cooling and power).